-- show_longpress_mask.lua
-- Created by zouyb Jun/05/2015
-- 显示长按出怪物的蒙版窗口

require "game/ui/form/guide/UIGuideLongPressMask";

return {
    run = function(id)        
        local targetFormName = DungeonGuideM.query(id, "p1");
        local targetPath = DungeonGuideM.query(id, "p2");
		local targetMonsterInfo = DungeonGuideM.query(id, "p3");

		-- 显示强制指引蒙版窗口
		local targetForm = UIMgr.getCurrentScene():getFormByName(targetFormName);
		if targetForm ~= nil then
			local function callback()
				local _, _, formName, monsterId, gridId = string.find(targetMonsterInfo, "%((%a+),[ ]*(%d+),[ ]*(%d+)%)");

				-- 在目标范围区域, 打开怪物信息界面  
				local class = _G[formName];
				local uiForm = class.create(monsterId, gridId)
				UIMgr.getCurrentScene():addForm(uiForm);
			end

		    -- UIGuideLongPressMask的关闭依赖于目标节点发布的TARGET_CLICK事件
            -- 因此，在目标节点上蒙上蒙版窗口后，需要修改原来目标节点的事件监听函数
		    -- 将node:addTouchEventListener(f) 函数改为 AddTouchListener(node, f)
            -- 这样目标节点被点击时可以自动发布TARGET_CLICK事件
            local uiGuide = UIGuideLongPressMask.create(targetForm, targetPath, callback);
			UIMgr.getCurrentScene():addForm(uiGuide); 
		end
    end,
};